# run_streamlit.py
import streamlit as st
from dotenv import load_dotenv

from webui import rag_chat_page, knowledge_base_page
from utils import get_img_base64

# pip install debugpy
#import debugpy
#debugpy.listen(("127.0.0.1", 8080))
#print("等待调试器连接...")
#debugpy.wait_for_client()

# 加载所有环境变量 如。env
load_dotenv(verbose=True)

# 检查当前模块是否是主程序入口
if __name__ == "__main__":
    # 使用streamlit 的 sidebar 上下文管理器，在侧边栏中添加内容
    with st.sidebar:
        # 在侧边栏中 显示一个 logo,使用get_img_base64 获取推按的base64编码
        st.logo(
            get_img_base64("chatchat_lite_logo.png"),  # 获取大图标的base64编码
            size="large",  # 设置图表大小而large
            icon_image=get_img_base64("chatchat_lite_small_logo.png")  # 获取小图标的base64编码
        )

    # 创建一个导航对象pg,定义应用的页面结构
    pg = st.navigation({
        # 定义一个名为对话的页面组
        "对话": [
            st.Page(rag_chat_page, title="傻傻客服", icon=":material/chat:")
        ],
        # 定义一个名为 设置的页面图
        "设置": [
            st.Page(knowledge_base_page, title="行业知识库", icon=":material/library_books:")
        ]
    })

    # 运行导航对象
    pg.run()
